#include <stdio.h>
// 递归练习
// 递归三要素 1.目的 2.结束条件 3.等价关系式

// 一、斐波那契数列1、1、2、3、5、8、13、21、34
// 1.目的 是求f(n)第几项多少
// 2.结束条件 n<=2 return 1
// 3.等价关系式 f(n)=f(n-1)+f(n-2)
// int f(int n)
// {
//     if (n <= 2)
//     {
//         return 1;
//     }
//     else
//     {
//         return f(n - 1) + f(n - 2);
//     }
// }

// 递归练习2 一只青蛙一次可以跳上1级台阶，也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
// 目的 算出跳到n有多少种
// 2.结束条件 可观 n->0  f(1)=1
// int f2(int n)
// {
//     // n==2时 f(2)=f(1)+f(0) 死循环
//     if (n <= 1)
//     {
//         return 1;
//     }
//     else
//     {
//         // 等价公式 每次跳有1次或两次 跳一次还剩f(n-1) 两次还剩f(n-2)
//         return f2(n - 1) + f2(n - 2);
//     }
// }

int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", f2(n));
    return 0;
}